package com.cqwshzj.framework.dao.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.cqwshzj.common.column.JobInfoColumn;

import java.io.Serializable;

/**
 * null
 * @TableName job_info
 */
@TableName(value ="job_info")
public class JobInfo implements Serializable {
    /**
     * ����
     */
    @TableId(value="id", type = IdType.INPUT)
    private String id;

    /**
     * ������ID
     */
    @TableField(JobInfoColumn.PARENT_JOB_ID)
    private String parentJobId;

    /**
     * �������ID
     */
    @TableField(JobInfoColumn.STRT_ID)
    private Integer strtId;

    /**
     * ��������
     */
    @TableField(JobInfoColumn.JOB_TYPE)
    private Integer jobType;

    /**
     * �������
     */
    @TableField(JobInfoColumn.PARAMS)
    private String params;

    /**
     * ����״̬
     */
    @TableField(JobInfoColumn.STATE)
    private String state;

    /**
     * ִ������ķ�����IP
     */
    @TableField(JobInfoColumn.EXE_DEV_ID)
    private String exeDevId;

    /**
     * �������
     */
    @TableField(JobInfoColumn.PROGRESS)
    private Double progress;

    /**
     * ����ʼִ��ʱ��
     */
    @TableField(JobInfoColumn.JOB_START_TIME)
    private String jobStartTime;

    /**
     * ����ʱ��
     */
    @TableField(JobInfoColumn.JOB_UPD_TIME)
    private String jobUpdTime;

    /**
     * ����ʱ��
     */
    @TableField(JobInfoColumn.JOB_END_TIME)
    private String jobEndTime;

    /**
     * ��ʱʱ�䣨��������
     */
    @TableField(JobInfoColumn.JOB_EXE_TIMEOUT)
    private Integer jobExeTimeout;

    /**
     * ִ�н��
     */
    @TableField(JobInfoColumn.JOB_RPT)
    private String jobRpt;

    /**
     * ����ִ�к�ʱ����ʽΪ HH:mm:ss.SSS
     */
    @TableField(JobInfoColumn.COST_TIME)
    private String costTime;

    /**
     * �����Ƿ�洢��ZK�У�1-�ǣ�0-��
     */
    @TableField(JobInfoColumn.IS_JOB_IN_ZK)
    private String isJobInZk;

    /**
     * �������ƣ���zk�ڵ����ƣ�
     */
    @TableField(JobInfoColumn.JOB_NAME)
    private String jobName;

    /**
     * SimpleJobʵ���࣬������ִ����
     */
    @TableField(JobInfoColumn.SIMPLE_JOB_CLASS)
    private String simpleJobClass;

    /**
     * cron���ʽ
     */
    @TableField(JobInfoColumn.CRON)
    private String cron;

    /**
     * �з���������
     */
    @TableField(JobInfoColumn.SHARDING_TOTAL_COUNT)
    private Short shardingTotalCount;

    /**
     * ElasticJob�������
     */
    @TableField(JobInfoColumn.SHARDING_ITEM_PARAMETERS)
    private String shardingItemParameters;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    public JobInfo() {
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getParentJobId() {
        return parentJobId;
    }

    public void setParentJobId(String parentJobId) {
        this.parentJobId = parentJobId;
    }

    public Integer getStrtId() {
        return strtId;
    }

    public void setStrtId(Integer strtId) {
        this.strtId = strtId;
    }

    public Integer getJobType() {
        return jobType;
    }

    public void setJobType(Integer jobType) {
        this.jobType = jobType;
    }

    public String getParams() {
        return params;
    }

    public void setParams(String params) {
        this.params = params;
    }

    public String getState() {
        return state;
    }

    public void setState(String state) {
        this.state = state;
    }

    public String getExeDevId() {
        return exeDevId;
    }

    public void setExeDevId(String exeDevId) {
        this.exeDevId = exeDevId;
    }

    public Double getProgress() {
        return progress;
    }

    public void setProgress(Double progress) {
        this.progress = progress;
    }

    public String getJobStartTime() {
        return jobStartTime;
    }

    public void setJobStartTime(String jobStartTime) {
        this.jobStartTime = jobStartTime;
    }

    public String getJobUpdTime() {
        return jobUpdTime;
    }

    public void setJobUpdTime(String jobUpdTime) {
        this.jobUpdTime = jobUpdTime;
    }

    public String getJobEndTime() {
        return jobEndTime;
    }

    public void setJobEndTime(String jobEndTime) {
        this.jobEndTime = jobEndTime;
    }

    public Integer getJobExeTimeout() {
        return jobExeTimeout;
    }

    public void setJobExeTimeout(Integer jobExeTimeout) {
        this.jobExeTimeout = jobExeTimeout;
    }

    public String getJobRpt() {
        return jobRpt;
    }

    public void setJobRpt(String jobRpt) {
        this.jobRpt = jobRpt;
    }

    public String getCostTime() {
        return costTime;
    }

    public void setCostTime(String costTime) {
        this.costTime = costTime;
    }

    public String getIsJobInZk() {
        return isJobInZk;
    }

    public void setIsJobInZk(String isJobInZk) {
        this.isJobInZk = isJobInZk;
    }

    public String getJobName() {
        return jobName;
    }

    public void setJobName(String jobName) {
        this.jobName = jobName;
    }

    public String getSimpleJobClass() {
        return simpleJobClass;
    }

    public void setSimpleJobClass(String simpleJobClass) {
        this.simpleJobClass = simpleJobClass;
    }

    public String getCron() {
        return cron;
    }

    public void setCron(String cron) {
        this.cron = cron;
    }

    public Short getShardingTotalCount() {
        return shardingTotalCount;
    }

    public void setShardingTotalCount(Short shardingTotalCount) {
        this.shardingTotalCount = shardingTotalCount;
    }

    public String getShardingItemParameters() {
        return shardingItemParameters;
    }

    public void setShardingItemParameters(String shardingItemParameters) {
        this.shardingItemParameters = shardingItemParameters;
    }

    @Override
    public String toString() {
        return "JobInfo{" +
                "id='" + id + '\'' +
                ", parentJobId='" + parentJobId + '\'' +
                ", strtId=" + strtId +
                ", jobType=" + jobType +
                ", params='" + params + '\'' +
                ", state='" + state + '\'' +
                ", exeDevId='" + exeDevId + '\'' +
                ", progress=" + progress +
                ", jobStartTime='" + jobStartTime + '\'' +
                ", jobUpdTime='" + jobUpdTime + '\'' +
                ", jobEndTime='" + jobEndTime + '\'' +
                ", jobExeTimeout=" + jobExeTimeout +
                ", jobRpt='" + jobRpt + '\'' +
                ", costTime='" + costTime + '\'' +
                ", isJobInZk='" + isJobInZk + '\'' +
                ", jobName='" + jobName + '\'' +
                ", simpleJobClass='" + simpleJobClass + '\'' +
                ", cron='" + cron + '\'' +
                ", shardingTotalCount=" + shardingTotalCount +
                ", shardingItemParameters='" + shardingItemParameters + '\'' +
                '}';
    }
}